package lesson4;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class MyFrame extends JFrame{
    JTextField textField = new JTextField(20);
    public MyFrame(String title){
        super(title);
        //设置一个容器
        JPanel root=new JPanel();
        this.setContentPane(root);
        //创建一个文本框输入20表示将文本框的宽度初始化为20个英文字母的宽度
//        JTextField textField = new JTextField(20);
        root.add(textField);
        //设置文本框初始文字
        textField.setText("在这里输入");
        //添加一个复选框
        JCheckBox checkBox=new JCheckBox("我已确认");
        root.add(checkBox);
        //添加一个按钮
        JButton button=new JButton("提交");
        root.add(button);
        //设置按钮为禁用状态
        button.setEnabled(false);
        //创建JComboBox下拉列表
        JComboBox<String> colorField = new JComboBox<>();
        //添加一些颜色项
        colorField.addItem("红色");
        colorField.addItem("黄色");
        colorField.addItem("蓝色");
        colorField.addItem("绿色");
        root.add(colorField);
        //设置label标签
        JLabel label=new JLabel();
        root.add(label);
        label.setText("这是测试文本");
        //字体名称，字体样式（粗体，斜体等），字号
        label.setFont(new Font("楷体",Font.BOLD,24));
        //设置字体颜色
        label.setForeground(new Color(144,144,144));
        //设置标签背景不透明
        label.setOpaque(true);
        //设置标签背景颜色
        label.setBackground(new Color(141, 198, 63));
        //设置标签整体大小
        label.setPreferredSize(new Dimension(260,30));
        //设置标签水平方向居中
        label.setHorizontalAlignment(SwingConstants.CENTER);
        //给复选框添加事件处理
        checkBox.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if(checkBox.isSelected()){
                    button.setEnabled(true);
                }else{
                    button.setEnabled(false);
                }
            }
        });

        //给button添加一个监听器
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                test();
                //获得你选中的那个数据的引索
                int index =colorField.getSelectedIndex();
                //根据引索输出你选的值
                System.out.println(colorField.getItemAt(index)+index);
            }
        });
    }
    public void test(){
        String str=textField.getText();
        System.out.println(str);
        textField.setText("");
    }
}
